<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

	<ui:composition template="/templates/template.xhtml">
			<ui:define name="pageTitle">Pesquisa de Usuários</ui:define>
			<ui:define name="pageHeader">Header</ui:define>
			<ui:define name="body">
				<h:form id="lista">
				<p:growl id="messages" showDetail="true" />
			<p:dataTable id="dataTable" var="usuario" value="#{usuarioBean.lista}" paginator="true" rows="10" filteredValue="#{usuarioBean.filtrado}" widgetVar="usuarioTable" emptyMessage="Nenhum resultado encontrado" editable="true" paginatorAlwaysVisible="false">
			
			<f:facet name="header">Lista de Usuários</f:facet>
			<f:facet name="footer">
             <p:outputPanel>
              <h:outputText value="Pesquisar em todos os campos:" />
               <p:inputText id="globalFilter" onkeyup="usuarioTable.filter()" />
               </p:outputPanel>
                  </f:facet>
			
			 
			<p:column filterBy="#{usuario.nome}" headerText="Nome">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.nome}" />
            </f:facet>
            <f:facet name="input">
            <p:inputText id="nome" value="#{usuario.nome}" required="true" requiredMessage="OPA" />
            </f:facet>
            </p:cellEditor>
            </p:column>
			
			<p:column filterBy="#{usuario.cpf}" headerText="CPF">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.cpf}" />
            </f:facet>
            <f:facet name="input">
            <p:inputMask id="cpf" mask="99999999999" value="#{usuario.cpf}" required="true">
            <f:validator validatorId="cpf"/>
            </p:inputMask>
            </f:facet>	
            </p:cellEditor>
			</p:column>
			
			
			<p:column filterBy="#{usuario.login}" headerText="Login">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.login}" />
            </f:facet>
            <f:facet name="input">
            <p:inputText value="#{usuario.login}" required="true" />
            </f:facet>
            </p:cellEditor>
			</p:column>
			
			<p:column headerText="Senha">
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="********" />
            </f:facet>
            <f:facet name="input">
            <p:password value="#{usuario.senha}" required="true" />
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column filterBy="#{usuario.email}" headerText="E-mail">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.email}" />
            </f:facet>
            <f:facet name="input">
            <p:inputText id="email" value="#{usuario.email}" required="true">
            <f:validateRegex pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$" />
            </p:inputText>
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column headerText="Telefone">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.fone}" />
            </f:facet>
            <f:facet name="input">
            <p:inputMask value="#{usuario.fone}" required="true" mask="(99) 9999-9999" />
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column filterBy="#{usuario.sexo}" headerText="Sexo">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.sexo}" />
            </f:facet>
            <f:facet name="input">
            <h:selectOneMenu value="#{usuario.sexo}" >
            <f:selectItem itemLabel="Masculino" itemValue="Masculino" />  
			<f:selectItem itemLabel="Feminino" itemValue="Feminino" />
            </h:selectOneMenu>
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column filterBy="#{usuario.tipo_user}" headerText="Tipo de Usuário">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.tipo_user}" />
            </f:facet>
            <f:facet name="input">
            <h:selectOneMenu value="#{usuario.tipo_user}" >
            <f:selectItem itemLabel="Administrador" itemValue="Administrador" />  
			<f:selectItem itemLabel="Pesquisador" itemValue="Pesquisador" />
            </h:selectOneMenu>
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column filterBy="#{usuario.universidade}" headerText="Universidade">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.universidade}" />
            </f:facet>
            <f:facet name="input">
            <p:inputText value="#{usuario.universidade}" required="true" />
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column filterBy="#{usuario.data_n}" headerText="Data de Nascimento">
			
			<p:cellEditor>
            <f:facet name="output">
            <h:outputText value="#{usuario.data_n}" />
            </f:facet>
            <f:facet name="input">
            <p:inputMask value="#{usuario.data_n}" required="true" mask="99/99/9999" />
            </f:facet>
            </p:cellEditor>
			
			</p:column>
			
			<p:column>
			<f:facet name="header">Cadastro</f:facet>
			<h:outputText value="#{usuario.data_c}">
			<f:convertDateTime dateStyle="medium"/>
			</h:outputText>
			
			</p:column>
			
			<p:column headerText="Opções">  
            <p:rowEditor update="messages" /> 
                <h:commandLink  action="#{usuarioBean.excluir}"  onclick="if (!confirm('Deseja realmente excluir o usuário #{usuario.nome}?')) return false;">
				<p:graphicImage library="imagens"  name="remove-icon.png"/>
				<f:setPropertyActionListener target="#{usuarioBean.usuarioSelecionado}" value="#{usuario}" />
				</h:commandLink>
            </p:column>  
			
			
			
			
			</p:dataTable> 
			
			
			
			
			
			</h:form>
			</ui:define>
	</ui:composition>

</html>